#pragma once
#include <string>
#include <vector>
/**
 * The Strategy interface declares operations common to all supported versions
 * of some algorithm.
 *
 * The Context uses this interface to call the algorithm defined by Concrete
 * Strategies.
 */
class IStrategy
{
public:
    virtual ~IStrategy() {}
    virtual std::string DoAlgorithm(const std::vector<std::string>& data) const = 0;
};